package thread;

/**
 * 获取一个线程相关信息的方法
 */
public class ThreadInfoDemo {
    public static void main(String[] args) {
        //Thread t = new Thread("test"){//Thread实例化时可以自行指定名字
        Thread t = new Thread(){//若不指定名字则使用系统分配的名字
            public void run(){
                /*
                String getName()
                获取线程的名字
                我们定义的线程若没有显示的指定名字时，系统会分配一个名字，格式：Thread-X
                X是一个数字
                 */
                String name = this.getName();
                System.out.println(name);//Thread-0
                /*
                long getId()
                获取线程的ID
                可以作为ID使用的值必须同时具备两个要求：
                1.非空
                2.唯一
                通常id都是系统分配，而不是人为干预
                 */
                long id = this.getId();//id：唯一标识
                System.out.println(id);//12
                /*
                int getPriority()
                 */
                int priority = this.getPriority();
                System.out.println(priority);//5

                //线程是否中断
                boolean isInterrupted = this.isInterrupted();
                //线程是否为守护线程
                boolean isDaemon = this.isDaemon();
                //线程是否还活着
                boolean isAlive = this.isAlive();
                System.out.println("是否被中断："+isInterrupted);
                System.out.println("是否守护线程："+isDaemon);
                System.out.println("是否还活着："+isAlive);
                            }
        };
        t.start();
    }
}
